The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Network interfaces include physical layer devices that transmit and receive data over a medium. In a 10 gigabit/second (10 Gb) network, the physical layer devices can include a physical coding sublayer (PCS) module that encodes, multiplexes, and synchronizes outgoing symbol streams. The PCS module also aligns, demultiplexes, and decodes incoming symbol streams. In one approach, the PCS module is implemented based on a 10 GBASE-X standard in the Institute of Electrical and Electronics Engineers (IEEE) 802.3 specification, which is hereby incorporated by reference in its entirety. The 10 GBASE-X standard provides for 4-lane to 4-lane aggregation through the PCS module and specifies an 8-bit to 10-bit (8/10) encoding pattern for each lane. FIGS. 1-3 provide examples of PCS modules according to the 10 GBASE-X standard.
Referring now to FIG. 1, the International Organization for Standardization's ISO Open Systems Interconnection (OSI) model 10 includes a physical layer device 12 for transmitting and receiving data over a medium. The physical layer device 12 can employ different architectures for various types of physical media and bandwidth requirements.
Two example 10 Gb architectures are provided at 14-1 and 14-2. First 10 Gb architecture 14-1 is suitable for a single chip or system-on-chip (SOC) implementation of physical layer device 12. A reconciliation layer 16 provides a logical connection between a medium access control (MAC) device and other elements of the physical layer device 12. Reconciliation layer 16 communicates with a PCS module 20 via a 10 Gb media-independent interface (XGMII) 18. PCS module 20 communicates with a physical medium attachment unit (PMA) 22 that includes clock recovery and compensation logic for the incoming symbol streams. PCS module 20 communicates with a physical medium dependant (PMD) sublayer 24 that includes transmitters and receivers (transceivers). A media-dependent interface (MDI) 26-1, 26-2 connects PMD 24 to a communication medium 28. MDI 26 can include various fiber-optic and copper connections to medium 28.
The second 10 Gb architecture 14-2 is suitable for use in applications that include chip-to-chip and/or backplane structures. In such applications, the physical layer device 12 is remotely located from the MAC device and/or other higher network layers. An XGMII extender 29 allows XGMII 18 to communicate over greater distances. Extender 29 includes a pair of 10 Gb extended sublayer (XGXS) interface devices that connect to respective XGMII 18 interfaces of reconciliation layer 16 and PCS module 20. An extended attachment unit interface (XAUI) connects between the XGXS interface devices and provides 10 Gb communication through four lanes of communication.
Referring now to FIG. 2, a physical layer connection is shown between two network stations that employ the 10 GBASE-X standard. The stations include respective PCS module 20-1 and 20-2, referred to collectively as PCS modules 20. Each PCS module 20 communicates through medium 28, which includes four lanes.
First PCS module 20-1 receives data and idle symbols via four-lane XGMII 18. A substitutor module 30 replaces the idle symbols with specified control symbols and then outputs the data and control symbols onto four lanes 32-0, . . . , 32-3, referred to collectively as lanes 32. The control symbols include alignment symbols /A/, boundary symbols /K/, and disposable symbols /R/. The boundary symbols /K/ represent boundaries of respective data groups. Substitutor module 30 periodically generates the alignment symbols /A/Customer simultaneously on all lanes 32 with a pseudo-random period. The pseudo-random period satisfies minimum and maximum spacing specifications. Second PCS module 20-2 then uses each group of alignment symbols /A/ to compensate for timing differences between the lanes 32. Substitutor module 30 also adds and deletes the disposable symbols /R/ from each lane 32 to compensate for frequency differences between XGMII 18 and lanes 32.
Each output of substitutor module 30 is eight bits wide. Each lane 32 includes an 8-to-10 bit converter 34 that converts the 8-bit data to the 10-bit format. Bit patterns in the 10-bit format are generated according to an algorithm that maximizes signal level switching across the medium 28. The signal level switching minimizes the risk of developing a DC offset in the medium 28. An output of each 8/10 bit converter 34 communicates with an input of a respective amplifier 36. Each amplifier 36 drives the 10-bit data onto a respective lane of medium 28. Amplifiers 38 communicate the 10-bit data to respective 8/10 bit converters 40 that restore the 8-bit data. The restored 8-bit data leaves respective 8/10 bit converters at different times, i.e., the restored 8-bit data is misaligned due to different propagation delays through each of lanes 32. Lane alignment module 42 realigns the data based on the alignment symbols /A/ that were inserted by substitutor module 30, as shown in FIG. 3. Lane alignment module 42 communicates the realigned data to an XGMII 18 of second PCS module 20-2.
Referring now to FIG. 3, first and second data diagrams 50-1, 50-2 show the four lanes of data into and out of substitutor module 30. In first data diagram 50-1 idle symbols are represented by blank fields 52. Data is represented by data fields 54 that include data DN, where N represents a serial order of the respective data field. An /S/ symbol in field 56 represents a start of the data. A /T/ symbol in field 58 represents a terminus of the data. A column of the simultaneously-inserted alignment symbols /A/ appear at fields 60 and are used by lane alignment module 42.
The frequency spectrum of 10 GBASE-X idle streams, because of the repeated use of symbols /A/, /K/ and /R/, is very different from the spectrum of random data streams. Instead of a uniform frequency distribution, as with a stream of random data, a 10 GBASE-X data stream results in numerous peaks and valleys in frequency distribution, which may interfere with the operation of the system.